using System;
using System.Collections;
using System.ComponentModel;
using System.Runtime.Serialization;


namespace Entities
{
    [Serializable]
    [System.Data.Services.Common.DataServiceKey("ID")]
    public class Banner:EntityBase
    {
        #region Banner Properties
        private System.String _Name;
		[DataMember] public virtual System.String Name
		{
			get
			{
				return _Name;
			}
			set
			{
                if (_Name != value)
                {
                    _Name = value;
                    OnPropertyChanged("Name");
                }
			}
		}
        private System.String _URL;
		[DataMember] public virtual System.String URL
		{
			get
			{
				return _URL;
			}
			set
			{
                if (_URL != value)
                {
                    _URL = value;
                    OnPropertyChanged("URL");
                }
			}
		}
        private System.Int32? _Pos;
		[DataMember] public virtual System.Int32? Pos
		{
			get
			{
				return _Pos;
			}
			set
			{
                if (_Pos != value)
                {
                    _Pos = value;
                    OnPropertyChanged("Pos");
                }
			}
		}
        private System.String _Logo;
		[DataMember] public virtual System.String Logo
		{
			get
			{
				return _Logo;
			}
			set
			{
                if (_Logo != value)
                {
                    _Logo = value;
                    OnPropertyChanged("Logo");
                }
			}
		}
        private System.Byte? _Type;
		[DataMember] public virtual System.Byte? Type
		{
			get
			{
				return _Type;
			}
			set
			{
                if (_Type != value)
                {
                    _Type = value;
                    OnPropertyChanged("Type");
                }
			}
		}
        private System.DateTime? _CreateDate;
		[DataMember] public virtual System.DateTime? CreateDate
		{
			get
			{
				return _CreateDate;
			}
			set
			{
                if (_CreateDate != value)
                {
                    _CreateDate = value;
                    OnPropertyChanged("CreateDate");
                }
			}
		}
        #endregion
        public override bool Equals(object obj)
        {
            if (obj == this) return true;
            if (obj == null) return false;
            if (obj is Banner)
            {
                return (this.ID == (obj as Banner).ID);
            }
            return false;
        }
        public override int GetHashCode()
        {
            return ID.GetHashCode();
        }
    }
}